﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DP.Decorator
{
    public class CashDecorator : BaseDecorator //继承基础装饰类
    {
        public CashDecorator(BasePay basepay) : base(basepay)
        {
            this._BasePay = basepay; //传入基础功能类，或装饰类
        }
        public override void Pay()
        {
            this._BasePay.Pay(); //传入类的方法，再执行装饰类的方法，在不断传入装饰类的同时可以执行的方法将不断累加  

            /*
                    结构为：
                    public override void Pay()
                    {
                        基础功能类.Pay() //
                        { 
                            装饰类1.Pay()
                            {
                                装饰类2.Pay()            
                             }
                          }                       
                    }    
            */

            Console.WriteLine("开始现金支付。。。。。");
        }
    }
}
